TODO: introduce user acceptance and testing